package ace.module.account.sdk.core.feign.impl;

import ace.cmp.core.model.R;
import ace.cmp.openfeign.security.oauth2.core.config.FeignInternalServerOauth2SecurityConfig;
import ace.module.account.api.model.input.IamAccountTagAddInput;
import ace.module.account.sdk.core.feign.IamAccountTagFeignApi;
import ace.module.common.api.annotation.ApiRemoteProxyPriority;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import ace.module.account.sdk.core.constant.SdkConstant;

/**
 * template author: caspar
 * template created at: 2023-12-18
 * template description: rpc contract
 * generated at: 2024年6月24日 上午10:29:35
 * description: 账户标签 rpc contract
 */
@FeignClient(
    name = "${spring.cloud.openfeign.client.config.iamAccountTagFeign.name:" + SdkConstant.FEIGN_SERVICE_NAME + "}",
    contextId = "iamAccountTagFeign",
    path = IamAccountTagFeign.PATH,
    configuration = FeignInternalServerOauth2SecurityConfig.class,
    primary = false
)
@ApiRemoteProxyPriority
public interface IamAccountTagFeign extends IamAccountTagFeignApi {
  String PATH = "${spring.cloud.openfeign.client.config.iamAccountTagFeign.path:/account/iam-account-tag/rpc}";
  String URI_ADD_TAG = "/addTag";

  @PostMapping(URI_ADD_TAG)
  R<Void> addTag(@Valid @NotNull @RequestBody IamAccountTagAddInput input);
}
